package ec.linde.persistencia.entidades;

// Generated 07-ago-2014 12:54:27 by Hibernate Tools 4.0.0

import static javax.persistence.GenerationType.IDENTITY;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * ProdParametrosTransport generated by hbm2java
 */
@Entity
@Table(name = "prod_parametros_transport", schema = "productividad")
public class ProdParametrosTransport implements java.io.Serializable {

	private int patrId;
	private ProdCabeceraProforma prodCabeceraProforma;
	private String patrTipoTransporte;
	private String patrDesde;
	private String patrHasta;
	private double patrFactorCorreccion;
	private Double patrFactorUso;
	private double patrValorDistancia;
	private boolean patrCalcAutomaTransp;
	//private Set<ProdCabeceraProforma> prodCabeceraProformas = new HashSet<ProdCabeceraProforma>(
			//0);

	public ProdParametrosTransport() {
	}

	public ProdParametrosTransport(int patrId, String patrTipoTransporte,
			String patrDesde, String patrHasta, double patrFactorCorreccion,
			double patrValorDistancia, boolean patrCalcAutomaTransp) {
		this.patrId = patrId;
		this.patrTipoTransporte = patrTipoTransporte;
		this.patrDesde = patrDesde;
		this.patrHasta = patrHasta;
		this.patrFactorCorreccion = patrFactorCorreccion;
		this.patrValorDistancia = patrValorDistancia;
		this.patrCalcAutomaTransp = patrCalcAutomaTransp;
	}

	public ProdParametrosTransport(int patrId,
			ProdCabeceraProforma prodCabeceraProforma,
			String patrTipoTransporte, String patrDesde, String patrHasta,
			double patrFactorCorreccion, Double patrFactorUso,
			double patrValorDistancia, boolean patrCalcAutomaTransp){//,
			//Set<ProdCabeceraProforma> prodCabeceraProformas) {
		this.patrId = patrId;
		this.prodCabeceraProforma = prodCabeceraProforma;
		this.patrTipoTransporte = patrTipoTransporte;
		this.patrDesde = patrDesde;
		this.patrHasta = patrHasta;
		this.patrFactorCorreccion = patrFactorCorreccion;
		this.patrFactorUso = patrFactorUso;
		this.patrValorDistancia = patrValorDistancia;
		this.patrCalcAutomaTransp = patrCalcAutomaTransp;
		//this.prodCabeceraProformas = prodCabeceraProformas;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "patr_id", unique = true, nullable = false)
	public int getPatrId() {
		return this.patrId;
	}

	public void setPatrId(int patrId) {
		this.patrId = patrId;
	}

	@ManyToOne//(fetch = FetchType.LAZY)
	@JoinColumn(name = "capr_id")
	public ProdCabeceraProforma getProdCabeceraProforma() {
		return this.prodCabeceraProforma;
	}

	public void setProdCabeceraProforma(
			ProdCabeceraProforma prodCabeceraProforma) {
		this.prodCabeceraProforma = prodCabeceraProforma;
	}

	@Column(name = "patr_tipo_transporte", nullable = false)
	public String getPatrTipoTransporte() {
		return this.patrTipoTransporte;
	}

	public void setPatrTipoTransporte(String patrTipoTransporte) {
		this.patrTipoTransporte = patrTipoTransporte;
	}

	@Column(name = "patr_desde", nullable = false)
	public String getPatrDesde() {
		return this.patrDesde;
	}

	public void setPatrDesde(String patrDesde) {
		this.patrDesde = patrDesde;
	}

	@Column(name = "patr_hasta", nullable = false)
	public String getPatrHasta() {
		return this.patrHasta;
	}

	public void setPatrHasta(String patrHasta) {
		this.patrHasta = patrHasta;
	}

	@Column(name = "patr_factor_correccion", nullable = false, precision = 17, scale = 17)
	public double getPatrFactorCorreccion() {
		return this.patrFactorCorreccion;
	}

	public void setPatrFactorCorreccion(double patrFactorCorreccion) {
		this.patrFactorCorreccion = patrFactorCorreccion;
	}

	@Column(name = "patr_factor_uso", precision = 17, scale = 17)
	public Double getPatrFactorUso() {
		return this.patrFactorUso;
	}

	public void setPatrFactorUso(Double patrFactorUso) {
		this.patrFactorUso = patrFactorUso;
	}

	@Column(name = "patr_valor_distancia", nullable = false, precision = 17, scale = 17)
	public double getPatrValorDistancia() {
		return this.patrValorDistancia;
	}

	public void setPatrValorDistancia(double patrValorDistancia) {
		this.patrValorDistancia = patrValorDistancia;
	}

	@Column(name = "patr_calc_automa_transp", nullable = false)
	public boolean isPatrCalcAutomaTransp() {
		return this.patrCalcAutomaTransp;
	}

	public void setPatrCalcAutomaTransp(boolean patrCalcAutomaTransp) {
		this.patrCalcAutomaTransp = patrCalcAutomaTransp;
	}

	/*@OneToMany(fetch = FetchType.LAZY, mappedBy = "prodParametrosTransport")
	public Set<ProdCabeceraProforma> getProdCabeceraProformas() {
		return this.prodCabeceraProformas;
	}

	public void setProdCabeceraProformas(
			Set<ProdCabeceraProforma> prodCabeceraProformas) {
		this.prodCabeceraProformas = prodCabeceraProformas;
	}*/

}
